/**
 * @project_name staff_vehicle
 * @package_name com.ssh.dao
 * @desc TODO
 * @param
 * @author jack
 * @date 2013-4-24
 * @time 下午12:14:35
 */
package com.ssh.dao;

import java.util.List;

import com.ssh.entity.StaffUseCar;
import com.ssh.model.ACarResult;
import com.ssh.model.pdata.StaffVehicleIOCPData;

/**
 * @author jack
 * @desc 员工用车DAO接口
 */
public interface StaffUseCarDAOI {
	/*按员工编号查询出
	*/
	public StaffUseCar queryBySIdState(String staffId);
	public StaffUseCar queryBySIdState(String staffId,String state);
	public StaffUseCar updateBySUC(StaffUseCar staffUseCar);
	public int deleteById(String id);
	/**
	员工用车离开服务*/
	public StaffUseCar addStaffUC(StaffUseCar staffUseCar);
	public int addStaffUCList(List<StaffUseCar> staffUCList);
	public List<StaffUseCar> queryByIdList(String strings);
	public int countById(String id);
	public List<ACarResult>  queryMyApplyCarInfo(String staffId);

	/**
	 * 员工用车出入查询管理*/
	public List<StaffVehicleIOCPData> querySUseCar(String staffId,String staffUseId,String driverId,String sucState);
	/**
	 * 员工用车 进入管理*/
	public StaffVehicleIOCPData staffUseCarIn(String staffId,String staffUseId,String driverId);
	/**
	 * 员工用车 离开管理*/
	public StaffVehicleIOCPData staffUseCarOut(String staffId,String staffUseId,String driverId);
	/**
	 * 员工用车 查询*/
	public StaffVehicleIOCPData staffUseCarQuery(String staffId,String staffUseId,String driverId);
	/**
	 * 员工用车 离开查询*/
	public StaffVehicleIOCPData staffUseCarOutQuery(String staffId,String staffUseId,String driverId);
	/**
	 * 员工用车 进入更新*/
	public StaffVehicleIOCPData staffUseCarInUpdate(String staffId,String staffUseId,String driverId);
	/**
	 * 员工用车 离开查询*/
	public StaffVehicleIOCPData staffUseCarOutUpdate(String staffId,String staffUseId,String driverId);

	/**
	 * 根据 使用人、申请人、驾驶员ID、使用状态查询用车相关信息*/
	public StaffVehicleIOCPData getAllstaffUseCarInf(String staffId,String staffUseId,String driverId,String state);
	/**
	 * 根据 使用人、申请人、使用状态查询用车相关信息*/
	public StaffVehicleIOCPData getAllstaffUseCarInf(String staffId,String staffUseId,String state);
	/**
	 * 根据 申请人ID使用状态查询用车相关信息*/
	public StaffVehicleIOCPData getAllstaffUseCarInf(String staffUseCarId,String state);
	/**
	 * 根据 使用人ID查询用车相关信息*/
	public StaffVehicleIOCPData getAllstaffUseCarInf(String staffUseId);
	/**
	 * 根据 申请人ID、车牌号、使用状态查询用车相关信息*/
	public StaffVehicleIOCPData getAllsucInfByscs(String staffUseCarId,String vehicleId ,String state);
	/**
	 * @param staffId
	 * @param staffUseCarId
	 * @param vehicleId
	 * @param state
	 * @return
	 */
	StaffVehicleIOCPData getAllsucInfByscs(String staffId,
			String staffUseCarId, String vehicleId, String state);
}
